1 From 8b42c46cf6656ef3c2f6d1ec0f113753c6875712 Mon Sep 17 00:00:00 2001
2 From: Bitterblue Smith <rtl8821cerfe2@gmail.com>
3 Date: Tue, 18 Feb 2025 01:31:51 +0200
4 Subject: [PATCH] wifi: rtw88: Extend rtw_phy_config_swing_table() for
7 Select the TX power tracking tables for RF paths C and D as well.
9 Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com>
10 Acked-by: Ping-Ke Shih <pkshih@realtek.com>
11 Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
12 Link: https://patch.msgid.link/e1e532c9-8733-4ec8-84fe-ced4af6c08da@gmail.com
14 drivers/net/wireless/realtek/rtw88/phy.c | 24 ++++++++++++++++++++++++
15 1 file changed, 24 insertions(+)
17 --- a/drivers/net/wireless/realtek/rtw88/phy.c
18 +++ b/drivers/net/wireless/realtek/rtw88/phy.c
19 @@ -2458,32 +2458,56 @@ void rtw_phy_config_swing_table(struct r
20 swing_table->n[RF_PATH_A] = tbl->pwrtrk_2g_ccka_n;
21 swing_table->p[RF_PATH_B] = tbl->pwrtrk_2g_cckb_p;
22 swing_table->n[RF_PATH_B] = tbl->pwrtrk_2g_cckb_n;
23 + swing_table->p[RF_PATH_C] = tbl->pwrtrk_2g_cckc_p;
24 + swing_table->n[RF_PATH_C] = tbl->pwrtrk_2g_cckc_n;
25 + swing_table->p[RF_PATH_D] = tbl->pwrtrk_2g_cckd_p;
26 + swing_table->n[RF_PATH_D] = tbl->pwrtrk_2g_cckd_n;
28 swing_table->p[RF_PATH_A] = tbl->pwrtrk_2ga_p;
29 swing_table->n[RF_PATH_A] = tbl->pwrtrk_2ga_n;
30 swing_table->p[RF_PATH_B] = tbl->pwrtrk_2gb_p;
31 swing_table->n[RF_PATH_B] = tbl->pwrtrk_2gb_n;
32 + swing_table->p[RF_PATH_C] = tbl->pwrtrk_2gc_p;
33 + swing_table->n[RF_PATH_C] = tbl->pwrtrk_2gc_n;
34 + swing_table->p[RF_PATH_D] = tbl->pwrtrk_2gd_p;
35 + swing_table->n[RF_PATH_D] = tbl->pwrtrk_2gd_n;
37 } else if (IS_CH_5G_BAND_1(channel) || IS_CH_5G_BAND_2(channel)) {
38 swing_table->p[RF_PATH_A] = tbl->pwrtrk_5ga_p[RTW_PWR_TRK_5G_1];
39 swing_table->n[RF_PATH_A] = tbl->pwrtrk_5ga_n[RTW_PWR_TRK_5G_1];
40 swing_table->p[RF_PATH_B] = tbl->pwrtrk_5gb_p[RTW_PWR_TRK_5G_1];
41 swing_table->n[RF_PATH_B] = tbl->pwrtrk_5gb_n[RTW_PWR_TRK_5G_1];
42 + swing_table->p[RF_PATH_C] = tbl->pwrtrk_5gc_p[RTW_PWR_TRK_5G_1];
43 + swing_table->n[RF_PATH_C] = tbl->pwrtrk_5gc_n[RTW_PWR_TRK_5G_1];
44 + swing_table->p[RF_PATH_D] = tbl->pwrtrk_5gd_p[RTW_PWR_TRK_5G_1];
45 + swing_table->n[RF_PATH_D] = tbl->pwrtrk_5gd_n[RTW_PWR_TRK_5G_1];
46 } else if (IS_CH_5G_BAND_3(channel)) {
47 swing_table->p[RF_PATH_A] = tbl->pwrtrk_5ga_p[RTW_PWR_TRK_5G_2];
48 swing_table->n[RF_PATH_A] = tbl->pwrtrk_5ga_n[RTW_PWR_TRK_5G_2];
49 swing_table->p[RF_PATH_B] = tbl->pwrtrk_5gb_p[RTW_PWR_TRK_5G_2];
50 swing_table->n[RF_PATH_B] = tbl->pwrtrk_5gb_n[RTW_PWR_TRK_5G_2];
51 + swing_table->p[RF_PATH_C] = tbl->pwrtrk_5gc_p[RTW_PWR_TRK_5G_2];
52 + swing_table->n[RF_PATH_C] = tbl->pwrtrk_5gc_n[RTW_PWR_TRK_5G_2];
53 + swing_table->p[RF_PATH_D] = tbl->pwrtrk_5gd_p[RTW_PWR_TRK_5G_2];
54 + swing_table->n[RF_PATH_D] = tbl->pwrtrk_5gd_n[RTW_PWR_TRK_5G_2];
55 } else if (IS_CH_5G_BAND_4(channel)) {
56 swing_table->p[RF_PATH_A] = tbl->pwrtrk_5ga_p[RTW_PWR_TRK_5G_3];
57 swing_table->n[RF_PATH_A] = tbl->pwrtrk_5ga_n[RTW_PWR_TRK_5G_3];
58 swing_table->p[RF_PATH_B] = tbl->pwrtrk_5gb_p[RTW_PWR_TRK_5G_3];
59 swing_table->n[RF_PATH_B] = tbl->pwrtrk_5gb_n[RTW_PWR_TRK_5G_3];
60 + swing_table->p[RF_PATH_C] = tbl->pwrtrk_5gc_p[RTW_PWR_TRK_5G_3];
61 + swing_table->n[RF_PATH_C] = tbl->pwrtrk_5gc_n[RTW_PWR_TRK_5G_3];
62 + swing_table->p[RF_PATH_D] = tbl->pwrtrk_5gd_p[RTW_PWR_TRK_5G_3];
63 + swing_table->n[RF_PATH_D] = tbl->pwrtrk_5gd_n[RTW_PWR_TRK_5G_3];
65 swing_table->p[RF_PATH_A] = tbl->pwrtrk_2ga_p;
66 swing_table->n[RF_PATH_A] = tbl->pwrtrk_2ga_n;
67 swing_table->p[RF_PATH_B] = tbl->pwrtrk_2gb_p;
68 swing_table->n[RF_PATH_B] = tbl->pwrtrk_2gb_n;
69 + swing_table->p[RF_PATH_C] = tbl->pwrtrk_2gc_p;
70 + swing_table->n[RF_PATH_C] = tbl->pwrtrk_2gc_n;
71 + swing_table->p[RF_PATH_D] = tbl->pwrtrk_2gd_p;
72 + swing_table->n[RF_PATH_D] = tbl->pwrtrk_2gd_n;
75 EXPORT_SYMBOL(rtw_phy_config_swing_table);